package org.ash.user.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {
    @TableId(type = IdType.AUTO) // 使用数据库自增主键策略
    private Long id;                  // 用户ID
    private String username;          // 用户名
    private String password;          // 密码
    private String email;             // 电子邮件
    private String phone;             // 电话
    private String name;              // 姓名
    private Integer sex;              // 性别：1代表男，0代表女
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date dateOfBirth;         // 出生日期
    private String idNumber;          // 身份证号
    private Integer status;           // 状态：1代表启用，2代表禁用
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;          // 创建时间
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;          // 更新时间
    private Long createUser;          // 创建者ID
    private Long updateUser;          // 更新者ID
    private Integer role;             // 角色：1代表管理员，2或者null代表普通用户
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date lastLoginTime;       // 最后登录时间
    private String address;           // 地址
}